/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.controlador;

import com.logica.Comercial;
import com.modelo.Inmueble;
import com.modelo.Multimedia;
import com.modelo.Servicio;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Set;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.SessionAttributes;
import org.springframework.web.servlet.ModelAndView;

/**
 *
 * @author Seysame
 */
@Controller
@SessionAttributes
public class ServicioControl {
    
      @Autowired  
 private Comercial comercial;
      
      
        @RequestMapping(value = "/asociarServicios.htm")
    public ModelAndView FormularioRegistrarServicios(@RequestParam("code") Integer id_inmueble, HttpSession session) {
          ModelAndView mv = new ModelAndView("asociarServicios");
          Inmueble temp = new Inmueble();
          temp.setIdInmueble(id_inmueble);
          Inmueble buscado = comercial.buscarInmueble(temp);
          session.setAttribute("inmueble", buscado);
          List<Servicio> servicios = comercial.listarServicios();
          LinkedHashMap<BigDecimal, String> serv = new LinkedHashMap<BigDecimal, String>();
          for(int i =0;i<servicios.size();i++){
          serv.put(servicios.get(i).getIdServicio(), servicios.get(i).getNombre());
          }
          mv.addObject("servicios",serv);
          mv.addObject("command", new Servicio());
   
    return mv;
    
    }
        
        
     @RequestMapping(value = "/asociarServicios.htm", method = RequestMethod.POST)
    public ModelAndView registrarServicios(@ModelAttribute("asociarServicios") Servicio servicio, BindingResult result,HttpSession session,@RequestParam("idServicio") BigDecimal idSevicio) {
          
    ModelAndView mv = new ModelAndView("index");
    Inmueble inmueble = (Inmueble)session.getAttribute("inmueble");
     
       servicio.setIdServicio(idSevicio);
       Servicio buscado = comercial.buscarServicio(servicio);
       Set<Inmueble>inmuebles = buscado.getInmuebles();
       inmuebles.add(comercial.buscarInmueble(inmueble));
       buscado.setInmuebles(inmuebles);
       comercial.modificarServicio(buscado);
       
    
     
    return mv;
     
     }
        
       public Comercial getComercial() {
        return comercial;
    }

    public void setComercial(Comercial comercial) {
        this.comercial = comercial;
    }
      
}
